AI 之前,做一份「可以填的表單」要走哪條路?VBA / Access / LibreOffice / PDF 的四種選擇

AI 工作流
表單
自動化
在 AI 幫你寫程式之前,單位裡要做一份能填寫、能存下來、能整理的表單,其實只有四條可行的路:Excel + VBA、Access 內建表單、LibreOffice Base、可填寫 PDF。每條路都能做出成果,但每一條都有讓人放棄的痛點。這篇把四條路的優缺、學習曲線與適用情境走一遍,也是下一篇「AI 時代用 R Shiny 做表單」的鋪陳。
發佈於

2026年7月7日

一個很常見的需求

單位要辦活動,主管說:「做一份表單,讓每位志工填個資、勾服務項目、選時段。」

聽起來很簡單。但接下來你就會遇到:

  • 表單要在電腦上填還是印出來用手寫
  • 填完之後資料要自動進到一個檔案,還是有人事後統一登打?
  • 誰負責維護這份表單?改欄位是誰的工作?

這幾個問題,決定了你會走上哪一條路。而在 AI 進到日常工作以前,能真正做到「螢幕上填、按一下存下來、之後整理得動」的方案,說多不多——大概就四條

四條路的大方向

在往下細看前,先給你一個總覽:

方案 什麼時候用 誰做得動
Excel + VBA 表單 只有 Office、需要客製、單機用 會一點程式、願意查 VBA 語法的人
Access 表單 資料量會累積、需要多張表關聯 願意學資料庫概念的人
LibreOffice Base 表單 沒有 Office 授權、預算低 願意接受介面粗糙、資源較少的人
可填寫 PDF 表單 對外發放、對方電腦環境不受控 有 Adobe Acrobat(Pro)的人

底下一條一條走。

一、Excel + VBA:最多人選、最容易踩坑

大部分單位一開始的想法都是:「就用 Excel 啊,多方便。」

具體做法通常是:

  1. 第一頁(Sheet1) 放一份表單畫面:用表單控制項(下拉選單、核取方塊、按鈕)擺出輸入區
  2. 寫一段 VBA,讓「儲存」按鈕把第一頁的答案寫到第二頁(Sheet2) 累積成一張資料表
  3. 存完之後清空第一頁,等下一位填

概念上完全合理,也的確可以做到。

這條路真正的痛點

① 一次只能一個人填

Excel 檔存在共用資料夾,兩個人同時開?後開的那個只能唯讀。VBA 寫回時如果另一個人也在改,會直接錯誤跳出。

② VBA 要維護

欄位加一欄,程式碼就要改一段。程式碼寫在 Excel 檔裡,換一台電腦要重新設定信任、開啟巨集——「巨集警告」對非技術使用者是勸退符號

③ 資料驗證靠自己寫

Excel 有「資料驗證」功能,但複雜的驗證(例如身分證檢查、電話格式)要自己寫程式。錯了就存進去了,事後再修。

④ 好用的表單控制項在「開發人員」索引標籤裡

預設是關的。要先打開 → 選項 → 自訂功能區 → 勾「開發人員」——這一步就會讓一半的使用者放棄。

二、Access:資料庫的正解,但沒人想學

Microsoft Access 是專門為這件事設計的:資料表、表單、報表、查詢,四件事一次到位。

用 Access 做表單很直覺:

  1. 建一張資料表定義欄位(姓名、電話、性別、服務項目…)
  2. 用「表單設計工具」拉一個表單,欄位自動綁到資料表
  3. 存進去的每一筆自動累積到資料表
  4. 要看報表?內建報表產生器可以直接印

Access 的優勢

  • 多人同時填:把 accdb 放共用資料夾,多個表單同時開沒問題(Access 內部會處理鎖)
  • 資料表關聯:一張「志工基本資料」+ 一張「服務紀錄」,透過志工編號串起來
  • 報表功能強:不用另外拉 Excel,內建就能出制式報表

Access 的痛點

① 學習曲線陡

「資料表」、「查詢」、「關聯」、「主鍵」——這些概念沒接觸過的話,光是搞懂「為什麼要有主鍵」就要花一天。

② Access 授權

Microsoft 365 訂閱不是每個版本都內含 Access。企業版才有,個人的 Family / Personal 沒有。買單機版一次授權也不便宜。

③ 資料庫檔會壞

accdb 檔案有時候會莫名損壞——尤其是斷網、突然停電、多人同時寫時。內建有「修復」功能但不是每次都救得回來。備份必須是常態

④ 只在 Windows 上跑

Mac 使用者要跑 Access 要開虛擬機或 Parallels,等於直接放棄一半的協作對象。

三、LibreOffice Base:省錢的替代方案

沒有 Access 授權,又想走資料庫這條路?LibreOffice Base 是免費的替代方案。

概念跟 Access 幾乎一樣:資料表 → 表單 → 查詢 → 報表。介面長得也很像(早期版本幾乎是 Access 的複製版)。

適合的場景

  • 單位預算緊、不想付 Microsoft 授權
  • 願意接受介面比較粗糙、字型顯示比較怪
  • 資料規模不大(一兩千筆內)

別忘了的痛點

① 中文顯示常有問題

表單中的中文欄位標籤,在某些系統/字型設定下會亂碼或字距怪異。花心思調字型是常態。

② 教學資源比 Access 少很多

遇到問題 Google,出來的答案八成是英文論壇;解法常是「其實這個功能沒完全實作」。

③ 表單設計工具比 Access 難用

拉欄位的手感差、按鈕綁事件更複雜。對非工程人員,這個難度差距是真實存在的

④ 跟 Access 一樣:檔案會壞、備份要做

四、可填寫 PDF:對外發放的最後手段

前面三種都是「單位內部用」。如果要發給外部單位、外部志工填呢?他們沒有你的 Excel、沒有 Access、沒有 LibreOffice——PDF 是最保守的共通格式

可填寫 PDF 是這樣做的:

  1. 用 Adobe Acrobat Pro 打開一張 PDF(可以是 Word 匯出的、也可以是掃描的)
  2. 按「準備表單」,Acrobat 會自動偵測欄位(下劃線、方框都會被辨識成輸入格)
  3. 手動微調欄位型別(單行、多行、勾選、單選、下拉)
  4. 存檔,寄出去——對方用 Adobe Reader(免費)就能填

這條路的優勢

  • 對方不用裝任何東西:Adobe Reader 是內建
  • 樣式可控:印出來就是那個樣子,跟公文格式一致
  • 不必連網:填完存檔用 email 寄回來、或印出來簽名

這條路的痛點

① Adobe Acrobat Pro 是要付錢的

單月授權大約 US$15–20。而且只有 Pro 版能編輯,Reader 只能填。

② 資料要「回收」不是自動的

對方填完寄回來,你得一份一份打開、按「匯出資料」,再合併 CSV。發 30 份回收 30 個檔,整理一次也要一兩個小時。

③ 欄位驗證只有基本款

Acrobat 內建的 JavaScript 可以做驗證,但寫起來很痛苦(它用的是 Adobe 特化的 JS 環境,跟一般前端不一樣)。

④ 填的當下沒有「存下來就進資料庫」的感覺

它本質上是「一份填了的 PDF」——資料流的下一步永遠是有人開檔案、匯出、整理。跟 Excel/Access 的差別很清楚。

這四條路,共通的痛點

不管走哪一條,都會碰到這幾件事:

  • 欄位變一次,好幾個地方都要改(表單畫面、儲存邏輯、報表版型)
  • 只有做這件事的人懂:三個月後接手的同事看不懂你的 VBA、看不懂你的 accdb 結構
  • 多人協作卡卡:Excel 一次一個人、Access 有時鎖死、PDF 要人工回收
  • 跨裝置就完了:手機/平板上填?很勉強
  • 學一次要好幾天,還未必學得動

這也是為什麼——很多單位到最後還是走回「印出來給大家手寫、我事後打字」 這條路。

為什麼今天有更好的選擇

上面四條路的共通假設:「做表單」是一件需要專業工具的事

  • VBA 假設你會 Basic
  • Access 假設你懂資料庫
  • LibreOffice Base 假設你能吃苦
  • Acrobat 假設你付得起授權、且能接受手動回收

這個假設,在 AI 進到日常工作以後不成立了

現在做一份表單的路徑可以是:

描述你要什麼 → AI 幫你寫程式 → 貼上去執行 → 表單就在瀏覽器上跑起來

用什麼工具寫程式?R Shiny 是我最常用的一個。它有幾個特點剛好對上前面說的痛點:

  • 在瀏覽器上跑——手機、平板、任何裝置都能填
  • 資料直接進資料表——不用 VBA、不用「開檔案匯出」
  • 改欄位改一段程式碼——不用同時改三個地方
  • 免費、跨平台(R 是 open source)
  • AI 幫你寫——你不用學 Shiny 的所有 API

下一篇會走一遍:用 R Shiny + AI,20 分鐘寫出一份能實際用的表單。

註釋

如果你單位裡正在做這個決定——「表單到底要用哪一條路做」——歡迎透過 About 頁面聊。選錯路,後面三年都在填坑;選對路,一次到位。

回到頂端